package com.shreecon.lms.persistancy.hbm;

// Generated Aug 9, 2011 6:00:44 PM by Hibernate Tools 3.1.0.beta5

import java.util.Date;
import java.util.HashSet;
import java.util.Set;

/**
 * The Class EmployeeDetail.
 * 
 * @author Santhosh. Modified on Aug 13, 2011
 */
public class EmployeeDetail implements java.io.Serializable {

	// Fields    

	/** The emp id. */
	private Long empId;
	
	/** The emp name. */
	private String empName;
	
	/** The emp address. */
	private String empAddress;
	
	/** The emp contact number. */
	private Long empContactNumber;
	
	/** The emp dob. */
	private Date empDob;
	
	/** The emp doj. */
	private Date empDoj;
	
	/** The emp dor. */
	private Date empDor;
	
	/** The emp user name. */
	private String empUserName;
	
	/** The emp password. */
	private String empPassword;
	
	/** The emp role. */
	private String empRole;
	
	/** The leave availablities. */
	private Set<LeaveAvailablity> leaveAvailablities = new HashSet<LeaveAvailablity>(0);

	// Constructors

	/**
     * Instantiates a new employee detail.
     */
	public EmployeeDetail() {
	}

	/**
     * Instantiates a new employee detail.
     * 
     * @param empId
     *            the emp id
     * @param empName
     *            the emp name
     * @param empAddress
     *            the emp address
     * @param empContactNumber
     *            the emp contact number
     * @param empDob
     *            the emp dob
     * @param empDoj
     *            the emp doj
     * @param empUserName
     *            the emp user name
     * @param empPassword
     *            the emp password
     */
	public EmployeeDetail(Long empId, String empName, String empAddress,
			Long empContactNumber, Date empDob, Date empDoj,
			String empUserName, String empPassword) {
		this.empId = empId;
		this.empName = empName;
		this.empAddress = empAddress;
		this.empContactNumber = empContactNumber;
		this.empDob = empDob;
		this.empDoj = empDoj;
		this.empUserName = empUserName;
		this.empPassword = empPassword;
	}

	/**
     * Instantiates a new employee detail.
     * 
     * @param empId
     *            the emp id
     * @param empName
     *            the emp name
     * @param empAddress
     *            the emp address
     * @param empContactNumber
     *            the emp contact number
     * @param empDob
     *            the emp dob
     * @param empDoj
     *            the emp doj
     * @param empDor
     *            the emp dor
     * @param empUserName
     *            the emp user name
     * @param empPassword
     *            the emp password
     * @param leaveAvailablities
     *            the leave availablities
     */
	public EmployeeDetail(Long empId, String empName, String empAddress,
			Long empContactNumber, Date empDob, Date empDoj, Date empDor,
			String empUserName, String empPassword,
			Set<LeaveAvailablity> leaveAvailablities) {
		this.empId = empId;
		this.empName = empName;
		this.empAddress = empAddress;
		this.empContactNumber = empContactNumber;
		this.empDob = empDob;
		this.empDoj = empDoj;
		this.empDor = empDor;
		this.empUserName = empUserName;
		this.empPassword = empPassword;
		this.leaveAvailablities = leaveAvailablities;
	}

	// Property accessors
	/**
     * Gets the emp id.
     * 
     * @return the emp id
     */
	public Long getEmpId() {
		return this.empId;
	}

	/**
     * Sets the emp id.
     * 
     * @param empId
     *            the new emp id
     */
	public void setEmpId(Long empId) {
		this.empId = empId;
	}

	/**
     * Gets the emp name.
     * 
     * @return the emp name
     */
	public String getEmpName() {
		return this.empName;
	}

	/**
     * Sets the emp name.
     * 
     * @param empName
     *            the new emp name
     */
	public void setEmpName(String empName) {
		this.empName = empName;
	}

	/**
     * Gets the emp address.
     * 
     * @return the emp address
     */
	public String getEmpAddress() {
		return this.empAddress;
	}

	/**
     * Sets the emp address.
     * 
     * @param empAddress
     *            the new emp address
     */
	public void setEmpAddress(String empAddress) {
		this.empAddress = empAddress;
	}

	/**
     * Gets the emp contact number.
     * 
     * @return the emp contact number
     */
	public Long getEmpContactNumber() {
		return this.empContactNumber;
	}

	/**
     * Sets the emp contact number.
     * 
     * @param empContactNumber
     *            the new emp contact number
     */
	public void setEmpContactNumber(Long empContactNumber) {
		this.empContactNumber = empContactNumber;
	}

	/**
     * Gets the emp dob.
     * 
     * @return the emp dob
     */
	public Date getEmpDob() {
		return this.empDob;
	}

	/**
     * Sets the emp dob.
     * 
     * @param empDob
     *            the new emp dob
     */
	public void setEmpDob(Date empDob) {
		this.empDob = empDob;
	}

	/**
     * Gets the emp doj.
     * 
     * @return the emp doj
     */
	public Date getEmpDoj() {
		return this.empDoj;
	}

	/**
     * Sets the emp doj.
     * 
     * @param empDoj
     *            the new emp doj
     */
	public void setEmpDoj(Date empDoj) {
		this.empDoj = empDoj;
	}

	/**
     * Gets the emp dor.
     * 
     * @return the emp dor
     */
	public Date getEmpDor() {
		return this.empDor;
	}

	/**
     * Sets the emp dor.
     * 
     * @param empDor
     *            the new emp dor
     */
	public void setEmpDor(Date empDor) {
		this.empDor = empDor;
	}

	/**
     * Gets the emp user name.
     * 
     * @return the emp user name
     */
	public String getEmpUserName() {
		return this.empUserName;
	}

	/**
     * Sets the emp user name.
     * 
     * @param empUserName
     *            the new emp user name
     */
	public void setEmpUserName(String empUserName) {
		this.empUserName = empUserName;
	}

	/**
     * Gets the emp password.
     * 
     * @return the emp password
     */
	public String getEmpPassword() {
		return this.empPassword;
	}

	/**
     * Sets the emp password.
     * 
     * @param empPassword
     *            the new emp password
     */
	public void setEmpPassword(String empPassword) {
		this.empPassword = empPassword;
	}

	/**
     * Gets the leave availablities.
     * 
     * @return the leave availablities
     */
	public Set<LeaveAvailablity> getLeaveAvailablities() {
		return this.leaveAvailablities;
	}

	/**
     * Sets the leave availablities.
     * 
     * @param leaveAvailablities
     *            the new leave availablities
     */
	public void setLeaveAvailablities(Set<LeaveAvailablity> leaveAvailablities) {
		this.leaveAvailablities = leaveAvailablities;
	}
	

	/**
     * Gets the emp role.
     * 
     * @return the emp role
     */
	public String getEmpRole() {
	    return empRole;
	}

	/**
     * Sets the emp role.
     * 
     * @param empRole
     *            the new emp role
     */
	public void setEmpRole(String empRole) {
	    this.empRole = empRole;
	}

	/* (non-Javadoc)
	 * @see java.lang.Object#toString()
	 */
	@Override
	public String toString() {
		return "EmployeeDetail [empId=" + empId + ", empName=" + empName
				+ ", empAddress=" + empAddress + ", empContactNumber="
				+ empContactNumber + ", empDob=" + empDob + ", empDoj="
				+ empDoj + ", empDor=" + empDor + ", empUserName="
				+ empUserName + ", empPassword=" + empPassword 
				+",  empRole"+empRole+ ", leaveAvailablities=" 
				+ leaveAvailablities + "]";
	}

	
}
